<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Over The Air (OTA) Update Library: OTA Typedefs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="infineon_logo.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Over The Air (OTA) Update Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Home</span></a></li>
      <li><a href="modules.html"><span>API&#160;Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__ota__typedefs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">OTA Typedefs<div class="ingroups"><a class="el" href="group__group__cy__ota.html">Infineon Over The Air (OTA) API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>Typedefs used by the OTA Agent. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaa98a26ac37e321f0747f95198223e0db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaa98a26ac37e321f0747f95198223e0db">ADD_QUOTES</a>(str)&#160;&#160;&#160;#str</td></tr>
<tr class="memdesc:gaa98a26ac37e321f0747f95198223e0db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro combo to add quotes around a define.  <a href="#gaa98a26ac37e321f0747f95198223e0db">More...</a><br /></td></tr>
<tr class="separator:gaa98a26ac37e321f0747f95198223e0db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1d5499e79b04694c57bf2970c174e00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaf1d5499e79b04694c57bf2970c174e00">EXPAND_AND_ADD_QUOTES</a>(str)&#160;&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gaa98a26ac37e321f0747f95198223e0db">ADD_QUOTES</a>(str)</td></tr>
<tr class="memdesc:gaf1d5499e79b04694c57bf2970c174e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro combo to add quotes around a define.  <a href="#gaf1d5499e79b04694c57bf2970c174e00">More...</a><br /></td></tr>
<tr class="separator:gaf1d5499e79b04694c57bf2970c174e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa62bde5eb7581727adb8838fa28f4382"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaa62bde5eb7581727adb8838fa28f4382">CY_TARGET_BOARD_STRING</a>&#160;&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gaf1d5499e79b04694c57bf2970c174e00">EXPAND_AND_ADD_QUOTES</a>(CY_TARGET_BOARD)</td></tr>
<tr class="memdesc:gaa62bde5eb7581727adb8838fa28f4382"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro combo to add quotes around a define.  <a href="#gaa62bde5eb7581727adb8838fa28f4382">More...</a><br /></td></tr>
<tr class="separator:gaa62bde5eb7581727adb8838fa28f4382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf98602574aa1fdfb627d3c59f62b2ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabf98602574aa1fdfb627d3c59f62b2ac"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gabf98602574aa1fdfb627d3c59f62b2ac">CY_OTA_MQTT_FILENAME_BUFF_SIZE</a>&#160;&#160;&#160;(256)</td></tr>
<tr class="memdesc:gabf98602574aa1fdfb627d3c59f62b2ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size for the HTTP filename to get the OTA image. <br /></td></tr>
<tr class="separator:gabf98602574aa1fdfb627d3c59f62b2ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cd431c05dec3136ee112edb90cce01f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3cd431c05dec3136ee112edb90cce01f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga3cd431c05dec3136ee112edb90cce01f">CY_OTA_MQTT_UNIQUE_TOPIC_BUFF_SIZE</a>&#160;&#160;&#160;(256)</td></tr>
<tr class="memdesc:ga3cd431c05dec3136ee112edb90cce01f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size for the unique MQTT topic to get the OTA image. <br /></td></tr>
<tr class="separator:ga3cd431c05dec3136ee112edb90cce01f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c493ffd9af7da17c2551699bd0b1275"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4c493ffd9af7da17c2551699bd0b1275"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga4c493ffd9af7da17c2551699bd0b1275">CY_OTA_JSON_DOC_BUFF_SIZE</a>&#160;&#160;&#160;(1024)</td></tr>
<tr class="memdesc:ga4c493ffd9af7da17c2551699bd0b1275"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of buffer for JSON update document. <br /></td></tr>
<tr class="separator:ga4c493ffd9af7da17c2551699bd0b1275"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8e421e4ebd8c8880843b63c1bf6c6f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gad8e421e4ebd8c8880843b63c1bf6c6f1">CY_OTA_CHUNK_SIZE</a>&#160;&#160;&#160;(4096)</td></tr>
<tr class="memdesc:gad8e421e4ebd8c8880843b63c1bf6c6f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of data chunks for each transfer.  <a href="#gad8e421e4ebd8c8880843b63c1bf6c6f1">More...</a><br /></td></tr>
<tr class="separator:gad8e421e4ebd8c8880843b63c1bf6c6f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0cd77637ad39eff0d6e86c42709b680a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga0cd77637ad39eff0d6e86c42709b680a">CY_OTA_CHUNK_HEADER_SIZE</a>&#160;&#160;&#160;(1024)</td></tr>
<tr class="memdesc:ga0cd77637ad39eff0d6e86c42709b680a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of data chunks header for each transfer.  <a href="#ga0cd77637ad39eff0d6e86c42709b680a">More...</a><br /></td></tr>
<tr class="separator:ga0cd77637ad39eff0d6e86c42709b680a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad528bd1c223ff089ca1416f3530c6cd1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad528bd1c223ff089ca1416f3530c6cd1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gad528bd1c223ff089ca1416f3530c6cd1">CY_OTA_HTTP_FILENAME_SIZE</a>&#160;&#160;&#160;(256)</td></tr>
<tr class="memdesc:gad528bd1c223ff089ca1416f3530c6cd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the string for the HTTP file name. <br /></td></tr>
<tr class="separator:gad528bd1c223ff089ca1416f3530c6cd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c07f2e527b6ee3653960f93cd90092d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga1c07f2e527b6ee3653960f93cd90092d">CY_OTA_MQTT_MAGIC</a>&#160;&#160;&#160;&quot;OTAImage&quot;</td></tr>
<tr class="memdesc:ga1c07f2e527b6ee3653960f93cd90092d"><td class="mdescLeft">&#160;</td><td class="mdescRight">First part of the topic to subscribe / publish.  <a href="#ga1c07f2e527b6ee3653960f93cd90092d">More...</a><br /></td></tr>
<tr class="separator:ga1c07f2e527b6ee3653960f93cd90092d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga679088099bc7020dd2e19df18c507fc0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga679088099bc7020dd2e19df18c507fc0">NOTIFICATION_RESPONSE_NO_UPDATES</a>&#160;&#160;&#160;&quot;No Update Available&quot;</td></tr>
<tr class="memdesc:ga679088099bc7020dd2e19df18c507fc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">End of topic to send a message to the Publisher for Direct download.  <a href="#ga679088099bc7020dd2e19df18c507fc0">More...</a><br /></td></tr>
<tr class="separator:ga679088099bc7020dd2e19df18c507fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2b5ce5242ba117187728ac8d136b8e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab2b5ce5242ba117187728ac8d136b8e2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gab2b5ce5242ba117187728ac8d136b8e2">NOTIFICATION_RESPONSE_UPDATES</a>&#160;&#160;&#160;&quot;Update Available&quot;</td></tr>
<tr class="memdesc:gab2b5ce5242ba117187728ac8d136b8e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Publisher response when an update is available. <br /></td></tr>
<tr class="separator:gab2b5ce5242ba117187728ac8d136b8e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac89bcf834e94d6fc72c60928ace94e4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac89bcf834e94d6fc72c60928ace94e4b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gac89bcf834e94d6fc72c60928ace94e4b">NOTIFICATION_RESPONSE_RESULT_RECEIVED</a>&#160;&#160;&#160;&quot;Result Received&quot;</td></tr>
<tr class="memdesc:gac89bcf834e94d6fc72c60928ace94e4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Publisher response when receiving results. <br /></td></tr>
<tr class="separator:gac89bcf834e94d6fc72c60928ace94e4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc7dc593b056d4fa2eee44470959aca0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacc7dc593b056d4fa2eee44470959aca0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gacc7dc593b056d4fa2eee44470959aca0">CY_OTA_SUBSCRIBE_AVAIL_TOPIC</a>&#160;&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gab3832b31bfefc10020675d714665cd0d">COMPANY_TOPIC_PREPEND</a> &quot;/&quot; <a class="el" href="group__group__ota__typedefs.html#gaa62bde5eb7581727adb8838fa28f4382">CY_TARGET_BOARD_STRING</a> &quot;/&quot; DEVICE_LISTEN_TOPIC</td></tr>
<tr class="memdesc:gacc7dc593b056d4fa2eee44470959aca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Topic to receive messages from the Publisher. <br /></td></tr>
<tr class="separator:gacc7dc593b056d4fa2eee44470959aca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga986c286579b648accf91d898722b9710"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga986c286579b648accf91d898722b9710"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga986c286579b648accf91d898722b9710">SUBSCRIBER_PUBLISH_TOPIC</a>&#160;&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gab3832b31bfefc10020675d714665cd0d">COMPANY_TOPIC_PREPEND</a> &quot;/&quot; <a class="el" href="group__group__ota__typedefs.html#gaa62bde5eb7581727adb8838fa28f4382">CY_TARGET_BOARD_STRING</a> &quot;/&quot; <a class="el" href="group__group__ota__typedefs.html#gaaa47c22f94edbcb24052a7551f6a2f36">PUBLISHER_LISTEN_TOPIC</a></td></tr>
<tr class="memdesc:ga986c286579b648accf91d898722b9710"><td class="mdescLeft">&#160;</td><td class="mdescRight">Topic to send messages to the Publisher. <br /></td></tr>
<tr class="separator:ga986c286579b648accf91d898722b9710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8dc51fb658999531cfe4ab9b9f554acd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga8dc51fb658999531cfe4ab9b9f554acd">CY_OTA_INTERVAL_SECS_MIN</a>&#160;&#160;&#160;(5)</td></tr>
<tr class="memdesc:ga8dc51fb658999531cfe4ab9b9f554acd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum interval check time.  <a href="#ga8dc51fb658999531cfe4ab9b9f554acd">More...</a><br /></td></tr>
<tr class="separator:ga8dc51fb658999531cfe4ab9b9f554acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf3e83f72f338308efd080da234a6917"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gadf3e83f72f338308efd080da234a6917">CY_OTA_INTERVAL_SECS_MAX</a>&#160;&#160;&#160;(60 * 60 * 24 * 365)     /* one year */</td></tr>
<tr class="memdesc:gadf3e83f72f338308efd080da234a6917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum interval check time.  <a href="#gadf3e83f72f338308efd080da234a6917">More...</a><br /></td></tr>
<tr class="separator:gadf3e83f72f338308efd080da234a6917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9fb26f92db493c4a169204ab3ee9f08"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaa9fb26f92db493c4a169204ab3ee9f08">CY_OTA_MESSAGE_FIELD</a>&#160;&#160;&#160;&quot;Message&quot;</td></tr>
<tr class="memdesc:gaa9fb26f92db493c4a169204ab3ee9f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Message Name field in a JSON Job document.  <a href="#gaa9fb26f92db493c4a169204ab3ee9f08">More...</a><br /></td></tr>
<tr class="separator:gaa9fb26f92db493c4a169204ab3ee9f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1aa69132a89d0a238f76449491ba6016"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga1aa69132a89d0a238f76449491ba6016">CY_OTA_MANUF_FIELD</a>&#160;&#160;&#160;&quot;Manufacturer&quot;</td></tr>
<tr class="memdesc:ga1aa69132a89d0a238f76449491ba6016"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Manufacturer Name field in a JSON Job document.  <a href="#ga1aa69132a89d0a238f76449491ba6016">More...</a><br /></td></tr>
<tr class="separator:ga1aa69132a89d0a238f76449491ba6016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74d07f42ff3aae49a001029b5c57f828"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga74d07f42ff3aae49a001029b5c57f828">CY_OTA_MANUF_ID_FIELD</a>&#160;&#160;&#160;&quot;ManufacturerID&quot;</td></tr>
<tr class="memdesc:ga74d07f42ff3aae49a001029b5c57f828"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Manufacturer ID field in a JSON Job document.  <a href="#ga74d07f42ff3aae49a001029b5c57f828">More...</a><br /></td></tr>
<tr class="separator:ga74d07f42ff3aae49a001029b5c57f828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29ffba80f209ccd744c1c0a190074fef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga29ffba80f209ccd744c1c0a190074fef">CY_OTA_PRODUCT_FIELD</a>&#160;&#160;&#160;&quot;Product&quot;</td></tr>
<tr class="memdesc:ga29ffba80f209ccd744c1c0a190074fef"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Product ID field in a JSON Job document.  <a href="#ga29ffba80f209ccd744c1c0a190074fef">More...</a><br /></td></tr>
<tr class="separator:ga29ffba80f209ccd744c1c0a190074fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ee3924c6b01b26642e777e21c764496"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga5ee3924c6b01b26642e777e21c764496">CY_OTA_SERIAL_NUMBER_FIELD</a>&#160;&#160;&#160;&quot;SerialNumber&quot;</td></tr>
<tr class="memdesc:ga5ee3924c6b01b26642e777e21c764496"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Serial Number field in a JSON Job document.  <a href="#ga5ee3924c6b01b26642e777e21c764496">More...</a><br /></td></tr>
<tr class="separator:ga5ee3924c6b01b26642e777e21c764496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga041386d443aeabb6bbd6643c68f96adc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga041386d443aeabb6bbd6643c68f96adc">CY_OTA_VERSION_FIELD</a>&#160;&#160;&#160;&quot;Version&quot;</td></tr>
<tr class="memdesc:ga041386d443aeabb6bbd6643c68f96adc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Version field in a JSON Job document.  <a href="#ga041386d443aeabb6bbd6643c68f96adc">More...</a><br /></td></tr>
<tr class="separator:ga041386d443aeabb6bbd6643c68f96adc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75ddb6eca343477fecd15d4dcd0c70de"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga75ddb6eca343477fecd15d4dcd0c70de">CY_OTA_BOARD_FIELD</a>&#160;&#160;&#160;&quot;Board&quot;</td></tr>
<tr class="memdesc:ga75ddb6eca343477fecd15d4dcd0c70de"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Board field in a JSON Job document.  <a href="#ga75ddb6eca343477fecd15d4dcd0c70de">More...</a><br /></td></tr>
<tr class="separator:ga75ddb6eca343477fecd15d4dcd0c70de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b427794d6dfe4dafb8c867afa550c6a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga7b427794d6dfe4dafb8c867afa550c6a">CY_OTA_CONNECTION_FIELD</a>&#160;&#160;&#160;&quot;Connection&quot;</td></tr>
<tr class="memdesc:ga7b427794d6dfe4dafb8c867afa550c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Connection field in a JSON Job document.  <a href="#ga7b427794d6dfe4dafb8c867afa550c6a">More...</a><br /></td></tr>
<tr class="separator:ga7b427794d6dfe4dafb8c867afa550c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeab0ff9a34f36cd59721a274a2f02492"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaeab0ff9a34f36cd59721a274a2f02492">CY_OTA_BROKER_FIELD</a>&#160;&#160;&#160;&quot;Broker&quot;</td></tr>
<tr class="memdesc:gaeab0ff9a34f36cd59721a274a2f02492"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Broker field for MQTT connection in a JSON Job document.  <a href="#gaeab0ff9a34f36cd59721a274a2f02492">More...</a><br /></td></tr>
<tr class="separator:gaeab0ff9a34f36cd59721a274a2f02492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6e7c8b2d26b0245a01a5f9e515a8910"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gae6e7c8b2d26b0245a01a5f9e515a8910">CY_OTA_PORT_FIELD</a>&#160;&#160;&#160;&quot;Port&quot;</td></tr>
<tr class="memdesc:gae6e7c8b2d26b0245a01a5f9e515a8910"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Port field in a JSON Job document.  <a href="#gae6e7c8b2d26b0245a01a5f9e515a8910">More...</a><br /></td></tr>
<tr class="separator:gae6e7c8b2d26b0245a01a5f9e515a8910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86edcb103b12c0886fa5ddaab9efa6eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga86edcb103b12c0886fa5ddaab9efa6eb">CY_OTA_SERVER_FIELD</a>&#160;&#160;&#160;&quot;Server&quot;</td></tr>
<tr class="memdesc:ga86edcb103b12c0886fa5ddaab9efa6eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Server field is for HTTP connection in a JSON Job document.  <a href="#ga86edcb103b12c0886fa5ddaab9efa6eb">More...</a><br /></td></tr>
<tr class="separator:ga86edcb103b12c0886fa5ddaab9efa6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4590a9321e1312bff6010b2aebd8c4a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga4590a9321e1312bff6010b2aebd8c4a9">CY_OTA_FILE_FIELD</a>&#160;&#160;&#160;&quot;File&quot;</td></tr>
<tr class="memdesc:ga4590a9321e1312bff6010b2aebd8c4a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The File field is for HTTP connection in a JSON Job document.  <a href="#ga4590a9321e1312bff6010b2aebd8c4a9">More...</a><br /></td></tr>
<tr class="separator:ga4590a9321e1312bff6010b2aebd8c4a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40e339961bd09a44431998766433f981"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga40e339961bd09a44431998766433f981">CY_OTA_OFFSET_FIELD</a>&#160;&#160;&#160;&quot;Offset&quot;</td></tr>
<tr class="memdesc:ga40e339961bd09a44431998766433f981"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Offset field is for a JSON Chunk Request document.  <a href="#ga40e339961bd09a44431998766433f981">More...</a><br /></td></tr>
<tr class="separator:ga40e339961bd09a44431998766433f981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa749fc27e9507f7156d52279a0cc069f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaa749fc27e9507f7156d52279a0cc069f">CY_OTA_SIZE_FIELD</a>&#160;&#160;&#160;&quot;Size&quot;</td></tr>
<tr class="memdesc:gaa749fc27e9507f7156d52279a0cc069f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Size field is for a JSON Chunk Request document.  <a href="#gaa749fc27e9507f7156d52279a0cc069f">More...</a><br /></td></tr>
<tr class="separator:gaa749fc27e9507f7156d52279a0cc069f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedeb636239077a65833fc15c35cced00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaedeb636239077a65833fc15c35cced00">CY_OTA_UNIQUE_TOPIC_FIELD</a>&#160;&#160;&#160;&quot;UniqueTopicName&quot;</td></tr>
<tr class="memdesc:gaedeb636239077a65833fc15c35cced00"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Unique Topic field is the name of the topic used for receiving Job/data from the Publisher.  <a href="#gaedeb636239077a65833fc15c35cced00">More...</a><br /></td></tr>
<tr class="separator:gaedeb636239077a65833fc15c35cced00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga039e8c4e1bf2b1e61ff054b1a10bd896"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga039e8c4e1bf2b1e61ff054b1a10bd896">CY_OTA_MQTT_STRING</a>&#160;&#160;&#160;&quot;MQTT&quot;</td></tr>
<tr class="memdesc:ga039e8c4e1bf2b1e61ff054b1a10bd896"><td class="mdescLeft">&#160;</td><td class="mdescRight">The MQTT Connection Type used in a JSON Job document.  <a href="#ga039e8c4e1bf2b1e61ff054b1a10bd896">More...</a><br /></td></tr>
<tr class="separator:ga039e8c4e1bf2b1e61ff054b1a10bd896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca09f1bb148c6b924e508ebf4c62a67b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaca09f1bb148c6b924e508ebf4c62a67b">CY_OTA_HTTP_STRING</a>&#160;&#160;&#160;&quot;HTTP&quot;</td></tr>
<tr class="memdesc:gaca09f1bb148c6b924e508ebf4c62a67b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The HTTP connection type used in a JSON Job document.  <a href="#gaca09f1bb148c6b924e508ebf4c62a67b">More...</a><br /></td></tr>
<tr class="separator:gaca09f1bb148c6b924e508ebf4c62a67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b765d95dd0c6557767c2cdee4eecb1e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga2b765d95dd0c6557767c2cdee4eecb1e">CY_OTA_HTTPS_STRING</a>&#160;&#160;&#160;&quot;HTTPS&quot;</td></tr>
<tr class="memdesc:ga2b765d95dd0c6557767c2cdee4eecb1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The HTTPS connection type used in a JSON Job document.  <a href="#ga2b765d95dd0c6557767c2cdee4eecb1e">More...</a><br /></td></tr>
<tr class="separator:ga2b765d95dd0c6557767c2cdee4eecb1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafeabf7547c3bf41d6eac5c0418460d5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafeabf7547c3bf41d6eac5c0418460d5f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gafeabf7547c3bf41d6eac5c0418460d5f">CY_OTA_MESSAGE_LEN</a>&#160;&#160;&#160;(32)</td></tr>
<tr class="memdesc:gafeabf7547c3bf41d6eac5c0418460d5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "Message" field in a JSON Job document. <br /></td></tr>
<tr class="separator:gafeabf7547c3bf41d6eac5c0418460d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a9f71090af6fb179057c25768989188"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8a9f71090af6fb179057c25768989188"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga8a9f71090af6fb179057c25768989188">CY_OTA_JOB_MANUF_LEN</a>&#160;&#160;&#160;(64)</td></tr>
<tr class="memdesc:ga8a9f71090af6fb179057c25768989188"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "Manufacturer" field in a JSON Job document. <br /></td></tr>
<tr class="separator:ga8a9f71090af6fb179057c25768989188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad779217a01c618b3b2a4850b948af694"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad779217a01c618b3b2a4850b948af694"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gad779217a01c618b3b2a4850b948af694">CY_OTA_JOB_MANUF_ID_LEN</a>&#160;&#160;&#160;(16)</td></tr>
<tr class="memdesc:gad779217a01c618b3b2a4850b948af694"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "ManufacturerID" field in a JSON Job document. <br /></td></tr>
<tr class="separator:gad779217a01c618b3b2a4850b948af694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13aa56e1811d8af9cf693e613658859c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13aa56e1811d8af9cf693e613658859c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga13aa56e1811d8af9cf693e613658859c">CY_OTA_JOB_PRODUCT_ID_LEN</a>&#160;&#160;&#160;(64)</td></tr>
<tr class="memdesc:ga13aa56e1811d8af9cf693e613658859c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "ProductID" field in a JSON Job document. <br /></td></tr>
<tr class="separator:ga13aa56e1811d8af9cf693e613658859c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0dcb09fc965d0229169fbb92805eac1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0dcb09fc965d0229169fbb92805eac1c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga0dcb09fc965d0229169fbb92805eac1c">CY_OTA_JOB_SERIAL_NUMBER_LEN</a>&#160;&#160;&#160;(32)</td></tr>
<tr class="memdesc:ga0dcb09fc965d0229169fbb92805eac1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "SerialNumber" field in a JSON Job document. <br /></td></tr>
<tr class="separator:ga0dcb09fc965d0229169fbb92805eac1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1f5c6dc00a067408c323e98c04b051a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab1f5c6dc00a067408c323e98c04b051a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gab1f5c6dc00a067408c323e98c04b051a">CY_OTA_JOB_VERSION_LEN</a>&#160;&#160;&#160;(16)</td></tr>
<tr class="memdesc:gab1f5c6dc00a067408c323e98c04b051a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "Version" field in a JSON Job document. <br /></td></tr>
<tr class="separator:gab1f5c6dc00a067408c323e98c04b051a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade68cd450f8e703a3b76f41ff71660da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gade68cd450f8e703a3b76f41ff71660da"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gade68cd450f8e703a3b76f41ff71660da">CY_OTA_JOB_BOARD_LEN</a>&#160;&#160;&#160;(48)</td></tr>
<tr class="memdesc:gade68cd450f8e703a3b76f41ff71660da"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "Board" field in a JSON Job document. <br /></td></tr>
<tr class="separator:gade68cd450f8e703a3b76f41ff71660da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11742662e966c045f986746b17ed9e43"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga11742662e966c045f986746b17ed9e43"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga11742662e966c045f986746b17ed9e43">CY_OTA_JOB_URL_BROKER_LEN</a>&#160;&#160;&#160;(256)</td></tr>
<tr class="memdesc:ga11742662e966c045f986746b17ed9e43"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Max length of the "Broker" and "Server" fields in a JSON Job document. <br /></td></tr>
<tr class="separator:ga11742662e966c045f986746b17ed9e43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad807b28a374507cfa1c43ce09baac07d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad807b28a374507cfa1c43ce09baac07d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gad807b28a374507cfa1c43ce09baac07d">CY_OTA_MQTT_BROKER_PORT</a>&#160;&#160;&#160;(1883)</td></tr>
<tr class="memdesc:gad807b28a374507cfa1c43ce09baac07d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The MQTT Broker port for a non-TLS connection. <br /></td></tr>
<tr class="separator:gad807b28a374507cfa1c43ce09baac07d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68b62710186e7c226662747716f47134"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga68b62710186e7c226662747716f47134"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga68b62710186e7c226662747716f47134">CY_OTA_MQTT_BROKER_PORT_TLS</a>&#160;&#160;&#160;(8883)</td></tr>
<tr class="memdesc:ga68b62710186e7c226662747716f47134"><td class="mdescLeft">&#160;</td><td class="mdescRight">The MQTT Broker port for a TLS connection. <br /></td></tr>
<tr class="separator:ga68b62710186e7c226662747716f47134"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1abbd901985d3c62f9ab3ac4ba9e735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae1abbd901985d3c62f9ab3ac4ba9e735"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gae1abbd901985d3c62f9ab3ac4ba9e735">CY_OTA_MQTT_BROKER_PORT_TLS_CERT</a>&#160;&#160;&#160;(8884)</td></tr>
<tr class="memdesc:gae1abbd901985d3c62f9ab3ac4ba9e735"><td class="mdescLeft">&#160;</td><td class="mdescRight">The MQTT Broker port for a TLS connection with certificates. <br /></td></tr>
<tr class="separator:gae1abbd901985d3c62f9ab3ac4ba9e735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8d169b0a2f22b1f638bee800d66967c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf8d169b0a2f22b1f638bee800d66967c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaf8d169b0a2f22b1f638bee800d66967c">CY_OTA_HTTP_SERVER_PORT</a>&#160;&#160;&#160;(80)</td></tr>
<tr class="memdesc:gaf8d169b0a2f22b1f638bee800d66967c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The HTTP connection port for a non-TLS connection. <br /></td></tr>
<tr class="separator:gaf8d169b0a2f22b1f638bee800d66967c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga454f3e795c36d44efd7e4a9fac916dd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga454f3e795c36d44efd7e4a9fac916dd3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga454f3e795c36d44efd7e4a9fac916dd3">CY_OTA_HTTP_SERVER_PORT_TLS</a>&#160;&#160;&#160;(443)</td></tr>
<tr class="memdesc:ga454f3e795c36d44efd7e4a9fac916dd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The HTTP connection port for a TLS connection. <br /></td></tr>
<tr class="separator:ga454f3e795c36d44efd7e4a9fac916dd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab585a7541d7bb222fbff7719555f68b0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gab585a7541d7bb222fbff7719555f68b0">CY_OTA_INITIAL_CHECK_SECS</a>&#160;&#160;&#160;(60)           /* 60 seconds. */</td></tr>
<tr class="memdesc:gab585a7541d7bb222fbff7719555f68b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial OTA check.  <a href="#gab585a7541d7bb222fbff7719555f68b0">More...</a><br /></td></tr>
<tr class="separator:gab585a7541d7bb222fbff7719555f68b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c17fd8b3a98ec9f3f21ba475418227a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga9c17fd8b3a98ec9f3f21ba475418227a">CY_OTA_NEXT_CHECK_INTERVAL_SECS</a>&#160;&#160;&#160;(60 * 60 * 24) /* Once per day. */</td></tr>
<tr class="memdesc:ga9c17fd8b3a98ec9f3f21ba475418227a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Next OTA check.  <a href="#ga9c17fd8b3a98ec9f3f21ba475418227a">More...</a><br /></td></tr>
<tr class="separator:ga9c17fd8b3a98ec9f3f21ba475418227a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f7048d0e07022decfaa5cd9afcfa2d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga5f7048d0e07022decfaa5cd9afcfa2d1">CY_OTA_RETRY_INTERVAL_SECS</a>&#160;&#160;&#160;(5)            /* 5 seconds. */</td></tr>
<tr class="memdesc:ga5f7048d0e07022decfaa5cd9afcfa2d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retry interval.  <a href="#ga5f7048d0e07022decfaa5cd9afcfa2d1">More...</a><br /></td></tr>
<tr class="separator:ga5f7048d0e07022decfaa5cd9afcfa2d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga857fb18dbbc8e462f9eefa30d57afefb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga857fb18dbbc8e462f9eefa30d57afefb">CY_OTA_CHECK_TIME_SECS</a>&#160;&#160;&#160;(10 * 60)       /* 10 minutes. */</td></tr>
<tr class="memdesc:ga857fb18dbbc8e462f9eefa30d57afefb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of time to check for downloads.  <a href="#ga857fb18dbbc8e462f9eefa30d57afefb">More...</a><br /></td></tr>
<tr class="separator:ga857fb18dbbc8e462f9eefa30d57afefb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28238863ca54b663f9faea4823253a42"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga28238863ca54b663f9faea4823253a42">CY_OTA_PACKET_INTERVAL_SECS</a>&#160;&#160;&#160;(60)           /* 1 minute. */</td></tr>
<tr class="memdesc:ga28238863ca54b663f9faea4823253a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expected maximum download time between each OTA packet arrival.  <a href="#ga28238863ca54b663f9faea4823253a42">More...</a><br /></td></tr>
<tr class="separator:ga28238863ca54b663f9faea4823253a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ac589095a8184084fc8ee3cf86f6d3f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga5ac589095a8184084fc8ee3cf86f6d3f">CY_OTA_JOB_CHECK_TIME_SECS</a>&#160;&#160;&#160;(30)          /* 30 seconds. */</td></tr>
<tr class="memdesc:ga5ac589095a8184084fc8ee3cf86f6d3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of time to check for getting the Job document.  <a href="#ga5ac589095a8184084fc8ee3cf86f6d3f">More...</a><br /></td></tr>
<tr class="separator:ga5ac589095a8184084fc8ee3cf86f6d3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac601cbb956da2706d87a25219fd38b3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gac601cbb956da2706d87a25219fd38b3d">CY_OTA_DATA_CHECK_TIME_SECS</a>&#160;&#160;&#160;(20 * 60)      /* 20 minutes. */</td></tr>
<tr class="memdesc:gac601cbb956da2706d87a25219fd38b3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of time to check for getting the OTA image data.  <a href="#gac601cbb956da2706d87a25219fd38b3d">More...</a><br /></td></tr>
<tr class="separator:gac601cbb956da2706d87a25219fd38b3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad937d8f959bccec87b87f11a9315ae3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gad937d8f959bccec87b87f11a9315ae3a">CY_OTA_RETRIES</a>&#160;&#160;&#160;(5)        /* 5 overall OTA retries. */</td></tr>
<tr class="memdesc:gad937d8f959bccec87b87f11a9315ae3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of time to check for OTA image downloads.  <a href="#gad937d8f959bccec87b87f11a9315ae3a">More...</a><br /></td></tr>
<tr class="separator:gad937d8f959bccec87b87f11a9315ae3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf05c3cff9a4bcdf5d63e5f5d0962f25a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaf05c3cff9a4bcdf5d63e5f5d0962f25a">CY_OTA_CONNECT_RETRIES</a>&#160;&#160;&#160;(3)        /* 3 server connect retries.  */</td></tr>
<tr class="memdesc:gaf05c3cff9a4bcdf5d63e5f5d0962f25a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of OTA connect to server/Broker retries.  <a href="#gaf05c3cff9a4bcdf5d63e5f5d0962f25a">More...</a><br /></td></tr>
<tr class="separator:gaf05c3cff9a4bcdf5d63e5f5d0962f25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63713f2122581c2bee97ebd3dbf1815c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga63713f2122581c2bee97ebd3dbf1815c">CY_OTA_MAX_DOWNLOAD_TRIES</a>&#160;&#160;&#160;(3)         /* 3 download OTA image retries. */</td></tr>
<tr class="memdesc:ga63713f2122581c2bee97ebd3dbf1815c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of OTA download retries.  <a href="#ga63713f2122581c2bee97ebd3dbf1815c">More...</a><br /></td></tr>
<tr class="separator:ga63713f2122581c2bee97ebd3dbf1815c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5faa23626341c735925265a87d38f95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gad5faa23626341c735925265a87d38f95">CY_OTA_HTTP_TIMEOUT_SEND</a>&#160;&#160;&#160;(3000)         /* 3 second send timeout. */</td></tr>
<tr class="memdesc:gad5faa23626341c735925265a87d38f95"><td class="mdescLeft">&#160;</td><td class="mdescRight">HTTP timeout for sending messages.  <a href="#gad5faa23626341c735925265a87d38f95">More...</a><br /></td></tr>
<tr class="separator:gad5faa23626341c735925265a87d38f95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a9e20b6c3565aebadc28acbddc798f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga1a9e20b6c3565aebadc28acbddc798f9">CY_OTA_HTTP_TIMEOUT_RECEIVE</a>&#160;&#160;&#160;(3000)         /* 3 second receive timeout. */</td></tr>
<tr class="memdesc:ga1a9e20b6c3565aebadc28acbddc798f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">HTTP timeout for receiving messages.  <a href="#ga1a9e20b6c3565aebadc28acbddc798f9">More...</a><br /></td></tr>
<tr class="separator:ga1a9e20b6c3565aebadc28acbddc798f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa47c22f94edbcb24052a7551f6a2f36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaaa47c22f94edbcb24052a7551f6a2f36">PUBLISHER_LISTEN_TOPIC</a>&#160;&#160;&#160;&quot;publish_notify&quot;</td></tr>
<tr class="memdesc:gaaa47c22f94edbcb24052a7551f6a2f36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last part of the topic to subscribe.  <a href="#gaaa47c22f94edbcb24052a7551f6a2f36">More...</a><br /></td></tr>
<tr class="separator:gaaa47c22f94edbcb24052a7551f6a2f36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3832b31bfefc10020675d714665cd0d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gab3832b31bfefc10020675d714665cd0d">COMPANY_TOPIC_PREPEND</a>&#160;&#160;&#160;&quot;OTAUpdate&quot;</td></tr>
<tr class="memdesc:gab3832b31bfefc10020675d714665cd0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">First part of the topic to subscribe/publish.  <a href="#gab3832b31bfefc10020675d714665cd0d">More...</a><br /></td></tr>
<tr class="separator:gab3832b31bfefc10020675d714665cd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a071cfd0e7d56ca360196cdc8af9356"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga1a071cfd0e7d56ca360196cdc8af9356">PUBLISHER_DIRECT_TOPIC</a>&#160;&#160;&#160;&quot;OTAImage&quot;</td></tr>
<tr class="memdesc:ga1a071cfd0e7d56ca360196cdc8af9356"><td class="mdescLeft">&#160;</td><td class="mdescRight">End of topic to send a message to the Publisher for Direct download.  <a href="#ga1a071cfd0e7d56ca360196cdc8af9356">More...</a><br /></td></tr>
<tr class="separator:ga1a071cfd0e7d56ca360196cdc8af9356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a15cee55ef70fdacd2575f7742a1fa9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga6a15cee55ef70fdacd2575f7742a1fa9">CY_OTA_RESULT_SUCCESS</a>&#160;&#160;&#160;&quot;Success&quot;</td></tr>
<tr class="memdesc:ga6a15cee55ef70fdacd2575f7742a1fa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">"Update successful" message.  <a href="#ga6a15cee55ef70fdacd2575f7742a1fa9">More...</a><br /></td></tr>
<tr class="separator:ga6a15cee55ef70fdacd2575f7742a1fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeafc16eeca288eb87fe3183343c9ec0d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaeafc16eeca288eb87fe3183343c9ec0d">CY_OTA_RESULT_FAILURE</a>&#160;&#160;&#160;&quot;Failure&quot;</td></tr>
<tr class="memdesc:gaeafc16eeca288eb87fe3183343c9ec0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">"Update failed" message.  <a href="#gaeafc16eeca288eb87fe3183343c9ec0d">More...</a><br /></td></tr>
<tr class="separator:gaeafc16eeca288eb87fe3183343c9ec0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e0b170b12d04b8bd422b3ee5516701a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga3e0b170b12d04b8bd422b3ee5516701a">CY_OTA_HTTP_JOB_FILE</a>&#160;&#160;&#160;&quot;/ota_update.json&quot;</td></tr>
<tr class="memdesc:ga3e0b170b12d04b8bd422b3ee5516701a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Job document name.  <a href="#ga3e0b170b12d04b8bd422b3ee5516701a">More...</a><br /></td></tr>
<tr class="separator:ga3e0b170b12d04b8bd422b3ee5516701a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9099d57ab0b4795b4a47be0f0b05941d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga9099d57ab0b4795b4a47be0f0b05941d">CY_OTA_HTTP_DATA_FILE</a>&#160;&#160;&#160;&quot;/ota-update.bin&quot;</td></tr>
<tr class="memdesc:ga9099d57ab0b4795b4a47be0f0b05941d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default OTA image file name.  <a href="#ga9099d57ab0b4795b4a47be0f0b05941d">More...</a><br /></td></tr>
<tr class="separator:ga9099d57ab0b4795b4a47be0f0b05941d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e99cf1a339baebf4f71fe536b2967ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga0e99cf1a339baebf4f71fe536b2967ea">CY_OTA_SUBSCRIBE_UPDATES_AVAIL</a>&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;Update Availability\&quot;, \\&quot;Manufacturer\&quot;: \&quot;Express Widgits Corporation\&quot;, \\&quot;ManufacturerID\&quot;: \&quot;EWCO\&quot;, \\&quot;ProductID\&quot;: \&quot;Easy Widgit\&quot;, \\&quot;SerialNumber\&quot;: \&quot;ABC213450001\&quot;, \\&quot;BoardName\&quot;: \&quot;CY8CPROTO_062_4343W\&quot;, \\&quot;Version\&quot;: \&quot;%d.%d.%d\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;\}&quot;</td></tr>
<tr class="memdesc:ga0e99cf1a339baebf4f71fe536b2967ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device message to the Publisher to ask about updates.  <a href="#ga0e99cf1a339baebf4f71fe536b2967ea">More...</a><br /></td></tr>
<tr class="separator:ga0e99cf1a339baebf4f71fe536b2967ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66bd4606bfc0f6e85c2172603f9c62a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga66bd4606bfc0f6e85c2172603f9c62a0">CY_OTA_DOWNLOAD_REQUEST</a>&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;Request Update\&quot;, \\&quot;Manufacturer\&quot;: \&quot;Express Widgits Corporation\&quot;, \\&quot;ManufacturerID\&quot;: \&quot;EWCO\&quot;, \\&quot;ProductID\&quot;: \&quot;Easy Widgit\&quot;, \\&quot;SerialNumber\&quot;: \&quot;ABC213450001\&quot;, \\&quot;BoardName\&quot;: \&quot;CY8CPROTO_062_4343W\&quot;, \\&quot;Version\&quot;: \&quot;%d.%d.%d\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;\}&quot;</td></tr>
<tr class="memdesc:ga66bd4606bfc0f6e85c2172603f9c62a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device message to the Publisher to ask for a full download with one request.  <a href="#ga66bd4606bfc0f6e85c2172603f9c62a0">More...</a><br /></td></tr>
<tr class="separator:ga66bd4606bfc0f6e85c2172603f9c62a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60cd7bb2153af31d0687b08b2152bcc7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga60cd7bb2153af31d0687b08b2152bcc7">CY_OTA_DOWNLOAD_CHUNK_REQUEST</a>&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;Request Data Chunk\&quot;, \\&quot;Manufacturer\&quot;: \&quot;Express Widgits Corporation\&quot;, \\&quot;ManufacturerID\&quot;: \&quot;EWCO\&quot;, \\&quot;ProductID\&quot;: \&quot;Easy Widgit\&quot;, \\&quot;SerialNumber\&quot;: \&quot;ABC213450001\&quot;, \\&quot;BoardName\&quot;: \&quot;CY8CPROTO_062_4343W\&quot;, \\&quot;Version\&quot;: \&quot;%d.%d.%d\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;, \\&quot;Filename\&quot;: \&quot;%s\&quot;, \\&quot;Offset\&quot;: \&quot;%ld\&quot;, \\&quot;Size\&quot;: \&quot;%ld\&quot;\}&quot;</td></tr>
<tr class="memdesc:ga60cd7bb2153af31d0687b08b2152bcc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device message to the Publisher to ask for a chunk of data at a time.  <a href="#ga60cd7bb2153af31d0687b08b2152bcc7">More...</a><br /></td></tr>
<tr class="separator:ga60cd7bb2153af31d0687b08b2152bcc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1eace95e0ec47d50df1e2810f4751173"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga1eace95e0ec47d50df1e2810f4751173">CY_OTA_MQTT_RESULT_JSON</a>&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;%s\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;\}&quot;</td></tr>
<tr class="memdesc:ga1eace95e0ec47d50df1e2810f4751173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device JSON document to respond to the MQTT Publisher.  <a href="#ga1eace95e0ec47d50df1e2810f4751173">More...</a><br /></td></tr>
<tr class="separator:ga1eace95e0ec47d50df1e2810f4751173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa642af38818fce01f3a9c6960bc6d64d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaa642af38818fce01f3a9c6960bc6d64d">CY_OTA_HTTP_RESULT_JSON</a>&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;%s\&quot;, \\&quot;File\&quot;:\&quot;%s\&quot; \}&quot;</td></tr>
<tr class="memdesc:gaa642af38818fce01f3a9c6960bc6d64d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device JSON document to respond to the HTTP server.  <a href="#gaa642af38818fce01f3a9c6960bc6d64d">More...</a><br /></td></tr>
<tr class="separator:gaa642af38818fce01f3a9c6960bc6d64d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabdddb494aa853699bec01c254bd307dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gabdddb494aa853699bec01c254bd307dd">CY_OTA_HTTP_GET_TEMPLATE</a></td></tr>
<tr class="memdesc:gabdddb494aa853699bec01c254bd307dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">HTTP GET template.  <a href="#gabdddb494aa853699bec01c254bd307dd">More...</a><br /></td></tr>
<tr class="separator:gabdddb494aa853699bec01c254bd307dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf07584fc1f20562f8eacf0346ad05291"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaf07584fc1f20562f8eacf0346ad05291">CY_OTA_HTTP_GET_RANGE_TEMPLATE</a></td></tr>
<tr class="memdesc:gaf07584fc1f20562f8eacf0346ad05291"><td class="mdescLeft">&#160;</td><td class="mdescRight">HTTP GET Range template.  <a href="#gaf07584fc1f20562f8eacf0346ad05291">More...</a><br /></td></tr>
<tr class="separator:gaf07584fc1f20562f8eacf0346ad05291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac14bf9939b2bd5d0b62817a87b4b30fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gac14bf9939b2bd5d0b62817a87b4b30fa">CY_OTA_HTTP_POST_TEMPLATE</a></td></tr>
<tr class="memdesc:gac14bf9939b2bd5d0b62817a87b4b30fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">HTTP POST template.  <a href="#gac14bf9939b2bd5d0b62817a87b4b30fa">More...</a><br /></td></tr>
<tr class="separator:gac14bf9939b2bd5d0b62817a87b4b30fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga448aa081432d624219ebedc2f28f5841"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga448aa081432d624219ebedc2f28f5841">CY_OTA_MQTT_KEEP_ALIVE_SECONDS</a>&#160;&#160;&#160;(60)                /* 60 second keepalive. */</td></tr>
<tr class="memdesc:ga448aa081432d624219ebedc2f28f5841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Keepalive interval for MQTT.  <a href="#ga448aa081432d624219ebedc2f28f5841">More...</a><br /></td></tr>
<tr class="separator:ga448aa081432d624219ebedc2f28f5841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b4d0aa969fb1ec3adefbaec643f78d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga3b4d0aa969fb1ec3adefbaec643f78d2">CY_OTA_MQTT_MAX_TOPICS</a>&#160;&#160;&#160;(2)</td></tr>
<tr class="memdesc:ga3b4d0aa969fb1ec3adefbaec643f78d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of MQTT topics.  <a href="#ga3b4d0aa969fb1ec3adefbaec643f78d2">More...</a><br /></td></tr>
<tr class="separator:ga3b4d0aa969fb1ec3adefbaec643f78d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaacf195683127ce1df77b07cf017990a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaacf195683127ce1df77b07cf017990a4">CY_OTA_MQTT_TOPIC_PREFIX</a>&#160;&#160;&#160;&quot;cy_ota_device&quot;</td></tr>
<tr class="memdesc:gaacf195683127ce1df77b07cf017990a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Topic prefix.  <a href="#gaacf195683127ce1df77b07cf017990a4">More...</a><br /></td></tr>
<tr class="separator:gaacf195683127ce1df77b07cf017990a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44b8c2bc6f4bb63c80b2939969cdb2ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga44b8c2bc6f4bb63c80b2939969cdb2ff">CY_OTA_MQTT_CLIENT_ID_PREFIX</a>&#160;&#160;&#160;&quot;cy_device&quot;</td></tr>
<tr class="memdesc:ga44b8c2bc6f4bb63c80b2939969cdb2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">The first characters in the client identifier.  <a href="#ga44b8c2bc6f4bb63c80b2939969cdb2ff">More...</a><br /></td></tr>
<tr class="separator:ga44b8c2bc6f4bb63c80b2939969cdb2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga50b8b1ec191a1d5f9a8fcd3472811694"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga50b8b1ec191a1d5f9a8fcd3472811694">cy_ota_context_ptr</a></td></tr>
<tr class="memdesc:ga50b8b1ec191a1d5f9a8fcd3472811694"><td class="mdescLeft">&#160;</td><td class="mdescRight">The OTA context pointer.  <a href="#ga50b8b1ec191a1d5f9a8fcd3472811694">More...</a><br /></td></tr>
<tr class="separator:ga50b8b1ec191a1d5f9a8fcd3472811694"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaa14519d9111acc0f50e9fd5307283766"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gaa14519d9111acc0f50e9fd5307283766">cy_ota_update_flow_t</a> { <br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggaa14519d9111acc0f50e9fd5307283766aa4d7311e721aa652fb94feda759e316c">CY_OTA_JOB_FLOW</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggaa14519d9111acc0f50e9fd5307283766a55f4c6628f38214c90e8b05fd8e8db72">CY_OTA_DIRECT_FLOW</a>
<br />
 }</td></tr>
<tr class="memdesc:gaa14519d9111acc0f50e9fd5307283766"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Type of OTA update flow.  <a href="group__group__ota__typedefs.html#gaa14519d9111acc0f50e9fd5307283766">More...</a><br /></td></tr>
<tr class="separator:gaa14519d9111acc0f50e9fd5307283766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc03646427dec963bef37cb5dbb550fa"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gabc03646427dec963bef37cb5dbb550fa">cy_ota_connection_t</a> { <br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggabc03646427dec963bef37cb5dbb550faa141f64e2edc3273de1e0374dc8e681ca">CY_OTA_CONNECTION_UNKNOWN</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggabc03646427dec963bef37cb5dbb550faa7955097dd62d0b81cb447d287d12bd98">CY_OTA_CONNECTION_MQTT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggabc03646427dec963bef37cb5dbb550faafb7b34f95f26234a0036b611205f904a">CY_OTA_CONNECTION_HTTP</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggabc03646427dec963bef37cb5dbb550faa680a4b7838e45eff7b93f98dde4af706">CY_OTA_CONNECTION_HTTPS</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggabc03646427dec963bef37cb5dbb550faaa6e2c528481c3eb950755dd86dfb272f">CY_OTA_CONNECTION_BLE</a>
<br />
 }</td></tr>
<tr class="memdesc:gabc03646427dec963bef37cb5dbb550fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The connection type to use.  <a href="group__group__ota__typedefs.html#gabc03646427dec963bef37cb5dbb550fa">More...</a><br /></td></tr>
<tr class="separator:gabc03646427dec963bef37cb5dbb550fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6424608a6e19ecd99e52f4013354fa82"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga6424608a6e19ecd99e52f4013354fa82">cy_ota_mqtt_session_type_t</a> { <br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gga6424608a6e19ecd99e52f4013354fa82a63a3e6f75f26a0026b89674544f8c162">CY_OTA_MQTT_SESSION_CLEAN</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gga6424608a6e19ecd99e52f4013354fa82a4c63654c806aac390a44fa5708f9838a">CY_OTA_MQTT_SESSION_RESTART</a>
<br />
 }</td></tr>
<tr class="memdesc:ga6424608a6e19ecd99e52f4013354fa82"><td class="mdescLeft">&#160;</td><td class="mdescRight">The MQTT session clean flag.  <a href="group__group__ota__typedefs.html#ga6424608a6e19ecd99e52f4013354fa82">More...</a><br /></td></tr>
<tr class="separator:ga6424608a6e19ecd99e52f4013354fa82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad852fa8cdb0431df709ccf12bb37cd60"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gad852fa8cdb0431df709ccf12bb37cd60">cy_ota_cb_reason_t</a> { <br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggad852fa8cdb0431df709ccf12bb37cd60a7d2f0693d44fd480e23c7de3c2f68d10">CY_OTA_REASON_STATE_CHANGE</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggad852fa8cdb0431df709ccf12bb37cd60a98710a7a1d2678890cda211ab2c89689">CY_OTA_REASON_SUCCESS</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggad852fa8cdb0431df709ccf12bb37cd60ad2bf02c326de5c6c95551123155e14bd">CY_OTA_REASON_FAILURE</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggad852fa8cdb0431df709ccf12bb37cd60a6f1fe12d222a4fcb6aef59d045cc40af">CY_OTA_LAST_REASON</a>
<br />
 }</td></tr>
<tr class="memdesc:gad852fa8cdb0431df709ccf12bb37cd60"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reasons for OTA callbacks to the application.  <a href="group__group__ota__typedefs.html#gad852fa8cdb0431df709ccf12bb37cd60">More...</a><br /></td></tr>
<tr class="separator:gad852fa8cdb0431df709ccf12bb37cd60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1539ebc23219f1ca64318286e9d375f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#gab1539ebc23219f1ca64318286e9d375f">cy_ota_agent_state_t</a> { <br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fae28d1cd8c5a985bb343a0828c234fdd0">CY_OTA_STATE_NOT_INITIALIZED</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fab4dff9b84c5eafa48e4d3eaff2302ba5">CY_OTA_STATE_EXITING</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa4980922c9b3cf3c4e1269324d4563d78">CY_OTA_STATE_INITIALIZING</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375faa1a4033af52d14af2873066da8f89098">CY_OTA_STATE_AGENT_STARTED</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375faf2dbf8dcfb8d9329549fa539970d9e54">CY_OTA_STATE_AGENT_WAITING</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa4b481536d237fc9672cff019e5a24392">CY_OTA_STATE_STORAGE_OPEN</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375faf8b6a7adfb042c0b4379db005eb03fcb">CY_OTA_STATE_STORAGE_WRITE</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa8177ec48fc37847b69d33f90a3b4333b">CY_OTA_STATE_STORAGE_CLOSE</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fad8e99bc84c807fa17f23b119900d4c1a">CY_OTA_STATE_START_UPDATE</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fafdf0e2e6deb544bc5bdc5dec53b0609f">CY_OTA_STATE_JOB_CONNECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa53922a893f09e01688b27c5d225e27a5">CY_OTA_STATE_JOB_DOWNLOAD</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa5f9288e902dc5473fd3e681eb2c43012">CY_OTA_STATE_JOB_DISCONNECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa1a5597cb918e3a60890c003ca2b35926">CY_OTA_STATE_JOB_PARSE</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa7d1ad039e8599533b1bd50c4068a41da">CY_OTA_STATE_JOB_REDIRECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fab8c745b4b9dd7c582c1cc6735ad1401e">CY_OTA_STATE_DATA_CONNECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa2821523d7c323f672da8b19b45d5d935">CY_OTA_STATE_DATA_DOWNLOAD</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa1957660855d0051d85c9c6bc52bee808">CY_OTA_STATE_DATA_DISCONNECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa64f1d70db6ac1c7b6053aa72a829cfd7">CY_OTA_STATE_VERIFY</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa155daa564765a5efdb0f5e647832c25b">CY_OTA_STATE_RESULT_REDIRECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa32bb3fbef7ed0e85e1130a8f8c206ac2">CY_OTA_STATE_RESULT_CONNECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa38c70df41f2fab401d96e10bc21cb395">CY_OTA_STATE_RESULT_SEND</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa559e81062c0a2f47f03dcbffefbc7a75">CY_OTA_STATE_RESULT_RESPONSE</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa7608a11942fc4b42c3487335639fd719">CY_OTA_STATE_RESULT_DISCONNECT</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375fa1a0a36230c7f92d5b5af2394e14fa6a1">CY_OTA_STATE_OTA_COMPLETE</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#ggab1539ebc23219f1ca64318286e9d375faabbd5e53bc741afd226adfd143dde572">CY_OTA_NUM_STATES</a>
<br />
 }</td></tr>
<tr class="memdesc:gab1539ebc23219f1ca64318286e9d375f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The OTA state.  <a href="group__group__ota__typedefs.html#gab1539ebc23219f1ca64318286e9d375f">More...</a><br /></td></tr>
<tr class="separator:gab1539ebc23219f1ca64318286e9d375f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83280df2ca46db528cc12901d949fd63"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__ota__typedefs.html#ga83280df2ca46db528cc12901d949fd63">cy_ota_callback_results_t</a> { <br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gga83280df2ca46db528cc12901d949fd63a9b6b16fa9fcb36760749ced06ea21513">CY_OTA_CB_RSLT_OTA_CONTINUE</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gga83280df2ca46db528cc12901d949fd63ab33edc4fae91e1c99f93933fc3a06bd5">CY_OTA_CB_RSLT_OTA_STOP</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gga83280df2ca46db528cc12901d949fd63a874db6e6b0afe4654eca56b1e66fe419">CY_OTA_CB_RSLT_APP_SUCCESS</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gga83280df2ca46db528cc12901d949fd63acd8fc21808d384ae3609318297c3d542">CY_OTA_CB_RSLT_APP_FAILED</a>, 
<br />
&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gga83280df2ca46db528cc12901d949fd63aa831afb765223f42c44dd9f29980bad4">CY_OTA_CB_NUM_RESULTS</a>
<br />
 }</td></tr>
<tr class="memdesc:ga83280df2ca46db528cc12901d949fd63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Results from the registered OTA callback.  <a href="group__group__ota__typedefs.html#ga83280df2ca46db528cc12901d949fd63">More...</a><br /></td></tr>
<tr class="separator:ga83280df2ca46db528cc12901d949fd63"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gaa98a26ac37e321f0747f95198223e0db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADD_QUOTES</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">str</td><td>)</td>
          <td>&#160;&#160;&#160;#str</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macro combo to add quotes around a define. </p>
<p>Used to define a string value for CY_TARGET_BOARD. </p>

</div>
</div>
<a class="anchor" id="gaf1d5499e79b04694c57bf2970c174e00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EXPAND_AND_ADD_QUOTES</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">str</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gaa98a26ac37e321f0747f95198223e0db">ADD_QUOTES</a>(str)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macro combo to add quotes around a define. </p>
<p>Used to define a string value for CY_TARGET_BOARD. </p>

</div>
</div>
<a class="anchor" id="gaa62bde5eb7581727adb8838fa28f4382"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_TARGET_BOARD_STRING&#160;&#160;&#160;<a class="el" href="group__group__ota__typedefs.html#gaf1d5499e79b04694c57bf2970c174e00">EXPAND_AND_ADD_QUOTES</a>(CY_TARGET_BOARD)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macro combo to add quotes around a define. </p>
<p>Used to define a string value for CY_TARGET_BOARD. </p>

</div>
</div>
<a class="anchor" id="gad8e421e4ebd8c8880843b63c1bf6c6f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_CHUNK_SIZE&#160;&#160;&#160;(4096)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of data chunks for each transfer. </p>
<p>Override in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="ga0cd77637ad39eff0d6e86c42709b680a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_CHUNK_HEADER_SIZE&#160;&#160;&#160;(1024)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of data chunks header for each transfer. </p>
<p>Override in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="ga1c07f2e527b6ee3653960f93cd90092d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MQTT_MAGIC&#160;&#160;&#160;&quot;OTAImage&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>First part of the topic to subscribe / publish. </p>
<p>Topic for the device to send messages to the Publisher: "COMPANY_TOPIC_PREPEND / BOARD_NAME / PUBLISHER_LISTEN_TOPIC"</p>
<p>Override in cy_ota_config.h. Last part of the topic to subscribe.</p>
<p>Topic for the device to send messages to the Publisher: "COMPANY_TOPIC_PREPEND / BOARD_NAME / PUBLISHER_LISTEN_TOPIC"</p>
<p>Override in cy_ota_config.h. "Magic" value placed in the MQTT Data Payload header.</p>
<p>Override in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="ga679088099bc7020dd2e19df18c507fc0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NOTIFICATION_RESPONSE_NO_UPDATES&#160;&#160;&#160;&quot;No Update Available&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>End of topic to send a message to the Publisher for Direct download. </p>
<p>Override in cy_ota_config.h. Publisher response when no update is available. </p>

</div>
</div>
<a class="anchor" id="ga8dc51fb658999531cfe4ab9b9f554acd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_INTERVAL_SECS_MIN&#160;&#160;&#160;(5)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minimum interval check time. </p>
<p>Minimum interval time for any timing specification in seconds. </p>

</div>
</div>
<a class="anchor" id="gadf3e83f72f338308efd080da234a6917"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_INTERVAL_SECS_MAX&#160;&#160;&#160;(60 * 60 * 24 * 365)     /* one year */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum interval check time. </p>
<p>This applies to: Initial wait after call to <a class="el" href="group__group__ota__functions.html#ga05b1ce8823a81d534247afd43db4c536" title="Start the OTA Background Agent. ">cy_ota_agent_start()</a> before contacting server. Wait value after failing or completing an OTA download. </p>

</div>
</div>
<a class="anchor" id="gaa9fb26f92db493c4a169204ab3ee9f08"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MESSAGE_FIELD&#160;&#160;&#160;&quot;Message&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Message Name field in a JSON Job document. </p>
<p>The Message Name field indicates the type of request/info that is contained in the Job document. </p>

</div>
</div>
<a class="anchor" id="ga1aa69132a89d0a238f76449491ba6016"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MANUF_FIELD&#160;&#160;&#160;&quot;Manufacturer&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Manufacturer Name field in a JSON Job document. </p>
<p>The Manufacturer Name can be used to determine if the OTA image available is correct. </p>

</div>
</div>
<a class="anchor" id="ga74d07f42ff3aae49a001029b5c57f828"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MANUF_ID_FIELD&#160;&#160;&#160;&quot;ManufacturerID&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Manufacturer ID field in a JSON Job document. </p>
<p>The Manufacturer ID can be used to determine whether the OTA image available is correct. </p>

</div>
</div>
<a class="anchor" id="ga29ffba80f209ccd744c1c0a190074fef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_PRODUCT_FIELD&#160;&#160;&#160;&quot;Product&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Product ID field in a JSON Job document. </p>
<p>The Product ID can be used to determine whether the OTA image available is correct. </p>

</div>
</div>
<a class="anchor" id="ga5ee3924c6b01b26642e777e21c764496"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_SERIAL_NUMBER_FIELD&#160;&#160;&#160;&quot;SerialNumber&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Serial Number field in a JSON Job document. </p>
<p>The Serial Number can be used to determine whether the OTA image available is correct. </p>

</div>
</div>
<a class="anchor" id="ga041386d443aeabb6bbd6643c68f96adc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_VERSION_FIELD&#160;&#160;&#160;&quot;Version&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Version field in a JSON Job document. </p>
<p>The Version can be used to determine whether the OTA image available is an upgrade (for example,"1.6.3"). </p>

</div>
</div>
<a class="anchor" id="ga75ddb6eca343477fecd15d4dcd0c70de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_BOARD_FIELD&#160;&#160;&#160;&quot;Board&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Board field in a JSON Job document. </p>
<p>The Board can be used to determine whether the OTA image available is correct. </p>

</div>
</div>
<a class="anchor" id="ga7b427794d6dfe4dafb8c867afa550c6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_CONNECTION_FIELD&#160;&#160;&#160;&quot;Connection&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Connection field in a JSON Job document. </p>
<p>The Connection defines the connection type to use to obtain the OTA image ("HTTP" or "MQTT"). </p>

</div>
</div>
<a class="anchor" id="gaeab0ff9a34f36cd59721a274a2f02492"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_BROKER_FIELD&#160;&#160;&#160;&quot;Broker&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Broker field for MQTT connection in a JSON Job document. </p>
<p>MQTT is the MQTT Broker used to obtain the OTA image. </p>

</div>
</div>
<a class="anchor" id="gae6e7c8b2d26b0245a01a5f9e515a8910"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_PORT_FIELD&#160;&#160;&#160;&quot;Port&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Port field in a JSON Job document. </p>
<p>Port is used for HTTP or MQTT connection to obtain the OTA image. </p>

</div>
</div>
<a class="anchor" id="ga86edcb103b12c0886fa5ddaab9efa6eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_SERVER_FIELD&#160;&#160;&#160;&quot;Server&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Server field is for HTTP connection in a JSON Job document. </p>
<p>The server is the HTTP server used to obtain the OTA image. See also <a class="el" href="group__group__ota__typedefs.html#gae6e7c8b2d26b0245a01a5f9e515a8910">CY_OTA_PORT_FIELD</a> <a class="el" href="group__group__ota__typedefs.html#ga4590a9321e1312bff6010b2aebd8c4a9">CY_OTA_FILE_FIELD</a>. </p>

</div>
</div>
<a class="anchor" id="ga4590a9321e1312bff6010b2aebd8c4a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_FILE_FIELD&#160;&#160;&#160;&quot;File&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The File field is for HTTP connection in a JSON Job document. </p>
<p>The File is the name of the OTA image on the HTTP server. See also <a class="el" href="group__group__ota__typedefs.html#gae6e7c8b2d26b0245a01a5f9e515a8910">CY_OTA_PORT_FIELD</a>. </p>

</div>
</div>
<a class="anchor" id="ga40e339961bd09a44431998766433f981"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_OFFSET_FIELD&#160;&#160;&#160;&quot;Offset&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Offset field is for a JSON Chunk Request document. </p>
<p>The offset is where in the OTA image to start a chunk transfer. </p>

</div>
</div>
<a class="anchor" id="gaa749fc27e9507f7156d52279a0cc069f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_SIZE_FIELD&#160;&#160;&#160;&quot;Size&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Size field is for a JSON Chunk Request document. </p>
<p>The Size is the size of the chunk to read from the OTA image for a chunk transfer. </p>

</div>
</div>
<a class="anchor" id="gaedeb636239077a65833fc15c35cced00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_UNIQUE_TOPIC_FIELD&#160;&#160;&#160;&quot;UniqueTopicName&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Unique Topic field is the name of the topic used for receiving Job/data from the Publisher. </p>
<p>The Unique Topic Name used for receipt of the Job/data from the Publisher. </p>

</div>
</div>
<a class="anchor" id="ga039e8c4e1bf2b1e61ff054b1a10bd896"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MQTT_STRING&#160;&#160;&#160;&quot;MQTT&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The MQTT Connection Type used in a JSON Job document. </p>
<p>Test for this string in a JSON Job document for MQTT type connection. <a class="el" href="group__group__ota__typedefs.html#ga7b427794d6dfe4dafb8c867afa550c6a">CY_OTA_CONNECTION_FIELD</a>. </p>

</div>
</div>
<a class="anchor" id="gaca09f1bb148c6b924e508ebf4c62a67b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_STRING&#160;&#160;&#160;&quot;HTTP&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The HTTP connection type used in a JSON Job document. </p>
<p>Test for this string in a JSON Job document for HTTP type connection. <a class="el" href="group__group__ota__typedefs.html#ga7b427794d6dfe4dafb8c867afa550c6a">CY_OTA_CONNECTION_FIELD</a>. </p>

</div>
</div>
<a class="anchor" id="ga2b765d95dd0c6557767c2cdee4eecb1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTPS_STRING&#160;&#160;&#160;&quot;HTTPS&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The HTTPS connection type used in a JSON Job document. </p>
<p>Test for this string in a JSON Job document for HTTPS type connection. <a class="el" href="group__group__ota__typedefs.html#ga7b427794d6dfe4dafb8c867afa550c6a">CY_OTA_CONNECTION_FIELD</a>. </p>

</div>
</div>
<a class="anchor" id="gab585a7541d7bb222fbff7719555f68b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_INITIAL_CHECK_SECS&#160;&#160;&#160;(60)           /* 60 seconds. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initial OTA check. </p>
<p>Time from when cy_ota_start() is called to when the OTA Agent first checks for an update. You can override this define in cy_ota_config.h.</p>
<p>Minimum value is CY_OTA_INTERVAL_SECS_MIN. Maximum value is CY_OTA_INTERVAL_SECS_MAX. </p>

</div>
</div>
<a class="anchor" id="ga9c17fd8b3a98ec9f3f21ba475418227a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_NEXT_CHECK_INTERVAL_SECS&#160;&#160;&#160;(60 * 60 * 24) /* Once per day. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Next OTA check. </p>
<p>Time from when after the OTA Agent completes or fails an update until the next check. You can override this define in cy_ota_config.h.</p>
<p>Minimum value is CY_OTA_INTERVAL_SECS_MIN. Maximum value is CY_OTA_INTERVAL_SECS_MAX. </p>

</div>
</div>
<a class="anchor" id="ga5f7048d0e07022decfaa5cd9afcfa2d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_RETRY_INTERVAL_SECS&#160;&#160;&#160;(5)            /* 5 seconds. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retry interval. </p>
<p>Time between failures for connection before you can retry. You can override this define in cy_ota_config.h. Minimum value is CY_OTA_INTERVAL_SECS_MIN. Maximum value is CY_OTA_INTERVAL_SECS_MAX. </p>

</div>
</div>
<a class="anchor" id="ga857fb18dbbc8e462f9eefa30d57afefb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_CHECK_TIME_SECS&#160;&#160;&#160;(10 * 60)       /* 10 minutes. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Length of time to check for downloads. </p>
<p>The OTA Agent wakes up, connects to server, and waits this much time before disconnecting. This allows the OTA Agent to be inactive for long periods of time, only checking for short periods. Use 0x00 to continue checking once started. </p>

</div>
</div>
<a class="anchor" id="ga28238863ca54b663f9faea4823253a42"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_PACKET_INTERVAL_SECS&#160;&#160;&#160;(60)           /* 1 minute. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Expected maximum download time between each OTA packet arrival. </p>
<p>This is used check that the download occurs in a reasonable time frame. </p>

</div>
</div>
<a class="anchor" id="ga5ac589095a8184084fc8ee3cf86f6d3f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_JOB_CHECK_TIME_SECS&#160;&#160;&#160;(30)          /* 30 seconds. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Length of time to check for getting the Job document. </p>
<p>The OTA Agent wakes up, connects to broker/server, and waits this much time before disconnecting. This allows the OTA Agent to be inactive for long periods of time, only checking for short periods. Use 0x00 to continue checking once started. </p>

</div>
</div>
<a class="anchor" id="gac601cbb956da2706d87a25219fd38b3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_DATA_CHECK_TIME_SECS&#160;&#160;&#160;(20 * 60)      /* 20 minutes. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Length of time to check for getting the OTA image data. </p>
<p>After getting the Job (or during a Direct download), this is the amount of time to wait before canceling the download. Use 0x00 to disable. </p>

</div>
</div>
<a class="anchor" id="gad937d8f959bccec87b87f11a9315ae3a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_RETRIES&#160;&#160;&#160;(5)        /* 5 overall OTA retries. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Length of time to check for OTA image downloads. </p>
<p>The OTA Agent wakes up, connects to server, and waits this much time before disconnecting. This allows the OTA Agent to be inactive for long periods of time, only checking for short periods. Use 0x00 to continue checking once started. Number of OTA session retries.</p>
<p>Retry count for overall OTA session attempts. </p>

</div>
</div>
<a class="anchor" id="gaf05c3cff9a4bcdf5d63e5f5d0962f25a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_CONNECT_RETRIES&#160;&#160;&#160;(3)        /* 3 server connect retries.  */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of OTA connect to server/Broker retries. </p>
<p>Retry count for connection attempts. </p>

</div>
</div>
<a class="anchor" id="ga63713f2122581c2bee97ebd3dbf1815c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MAX_DOWNLOAD_TRIES&#160;&#160;&#160;(3)         /* 3 download OTA image retries. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of OTA download retries. </p>
<p>Retry count for attempts at downloading the OTA image. </p>

</div>
</div>
<a class="anchor" id="gad5faa23626341c735925265a87d38f95"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_TIMEOUT_SEND&#160;&#160;&#160;(3000)         /* 3 second send timeout. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HTTP timeout for sending messages. </p>

</div>
</div>
<a class="anchor" id="ga1a9e20b6c3565aebadc28acbddc798f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_TIMEOUT_RECEIVE&#160;&#160;&#160;(3000)         /* 3 second receive timeout. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HTTP timeout for receiving messages. </p>

</div>
</div>
<a class="anchor" id="gaaa47c22f94edbcb24052a7551f6a2f36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PUBLISHER_LISTEN_TOPIC&#160;&#160;&#160;&quot;publish_notify&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Last part of the topic to subscribe. </p>
<p>Topic for the device to send a message to the Publisher: "COMPANY_TOPIC_PREPEND / BOARD_NAME / PUBLISHER_LISTEN_TOPIC" The combined topic must match the Publisher's subscribe topic.</p>
<p>Override in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="gab3832b31bfefc10020675d714665cd0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define COMPANY_TOPIC_PREPEND&#160;&#160;&#160;&quot;OTAUpdate&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>First part of the topic to subscribe/publish. </p>
<p>Topic for the device to send a message to the Publisher: "COMPANY_TOPIC_PREPEND / BOARD_NAME / PUBLISHER_LISTEN_TOPIC"</p>
<p>Override in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="ga1a071cfd0e7d56ca360196cdc8af9356"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PUBLISHER_DIRECT_TOPIC&#160;&#160;&#160;&quot;OTAImage&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>End of topic to send a message to the Publisher for Direct download. </p>
<p>Override in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="ga6a15cee55ef70fdacd2575f7742a1fa9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_RESULT_SUCCESS&#160;&#160;&#160;&quot;Success&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>"Update successful" message. </p>
<p>Used with sprintf() to create a RESULT message to the Broker/server. </p>

</div>
</div>
<a class="anchor" id="gaeafc16eeca288eb87fe3183343c9ec0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_RESULT_FAILURE&#160;&#160;&#160;&quot;Failure&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>"Update failed" message. </p>
<p>Used with sprintf() to create a RESULT message to the Broker/server. </p>

</div>
</div>
<a class="anchor" id="ga3e0b170b12d04b8bd422b3ee5516701a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_JOB_FILE&#160;&#160;&#160;&quot;/ota_update.json&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default Job document name. </p>
<p>Name of the update JSON file for HTTP. </p>

</div>
</div>
<a class="anchor" id="ga9099d57ab0b4795b4a47be0f0b05941d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_DATA_FILE&#160;&#160;&#160;&quot;/ota-update.bin&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default OTA image file name. </p>
<p>Name of the OTA image for HTTP. </p>

</div>
</div>
<a class="anchor" id="ga0e99cf1a339baebf4f71fe536b2967ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_SUBSCRIBE_UPDATES_AVAIL&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;Update Availability\&quot;, \\&quot;Manufacturer\&quot;: \&quot;Express Widgits Corporation\&quot;, \\&quot;ManufacturerID\&quot;: \&quot;EWCO\&quot;, \\&quot;ProductID\&quot;: \&quot;Easy Widgit\&quot;, \\&quot;SerialNumber\&quot;: \&quot;ABC213450001\&quot;, \\&quot;BoardName\&quot;: \&quot;CY8CPROTO_062_4343W\&quot;, \\&quot;Version\&quot;: \&quot;%d.%d.%d\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;\}&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device message to the Publisher to ask about updates. </p>
<p>Used with sprintf() to insert the current version and UniqueTopicName at runtime. Override if required by defining in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="ga66bd4606bfc0f6e85c2172603f9c62a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_DOWNLOAD_REQUEST&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;Request Update\&quot;, \\&quot;Manufacturer\&quot;: \&quot;Express Widgits Corporation\&quot;, \\&quot;ManufacturerID\&quot;: \&quot;EWCO\&quot;, \\&quot;ProductID\&quot;: \&quot;Easy Widgit\&quot;, \\&quot;SerialNumber\&quot;: \&quot;ABC213450001\&quot;, \\&quot;BoardName\&quot;: \&quot;CY8CPROTO_062_4343W\&quot;, \\&quot;Version\&quot;: \&quot;%d.%d.%d\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;\}&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device message to the Publisher to ask for a full download with one request. </p>
<ul>
<li>Used with sprintf() to insert the current version and UniqueTopicName at runtime. Override if required by defining in cy_ota_config.h. </li>
</ul>

</div>
</div>
<a class="anchor" id="ga60cd7bb2153af31d0687b08b2152bcc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_DOWNLOAD_CHUNK_REQUEST&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;Request Data Chunk\&quot;, \\&quot;Manufacturer\&quot;: \&quot;Express Widgits Corporation\&quot;, \\&quot;ManufacturerID\&quot;: \&quot;EWCO\&quot;, \\&quot;ProductID\&quot;: \&quot;Easy Widgit\&quot;, \\&quot;SerialNumber\&quot;: \&quot;ABC213450001\&quot;, \\&quot;BoardName\&quot;: \&quot;CY8CPROTO_062_4343W\&quot;, \\&quot;Version\&quot;: \&quot;%d.%d.%d\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;, \\&quot;Filename\&quot;: \&quot;%s\&quot;, \\&quot;Offset\&quot;: \&quot;%ld\&quot;, \\&quot;Size\&quot;: \&quot;%ld\&quot;\}&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device message to the Publisher to ask for a chunk of data at a time. </p>
<ul>
<li>Used with sprintf() to insert the current version and UniqueTopicName at runtime. Override if required by defining in cy_ota_config.h. </li>
</ul>

</div>
</div>
<a class="anchor" id="ga1eace95e0ec47d50df1e2810f4751173"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MQTT_RESULT_JSON&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;%s\&quot;, \\&quot;UniqueTopicName\&quot;: \&quot;%s\&quot;\}&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device JSON document to respond to the MQTT Publisher. </p>
<p>Used with sprintf() to create the JSON message. Override if required by defining in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="gaa642af38818fce01f3a9c6960bc6d64d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_RESULT_JSON&#160;&#160;&#160;&quot;{\\&quot;Message\&quot;:\&quot;%s\&quot;, \\&quot;File\&quot;:\&quot;%s\&quot; \}&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device JSON document to respond to the HTTP server. </p>
<p>Used with sprintf() to create the JSON message. Override if required by defining in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="gabdddb494aa853699bec01c254bd307dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_GET_TEMPLATE</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="stringliteral">&quot;GET %s HTTP/1.1\r\n&quot;</span> \</div>
<div class="line">    <span class="stringliteral">&quot;Host: %s:%d \r\n&quot;</span> \</div>
<div class="line">    <span class="stringliteral">&quot;\r\n&quot;</span></div>
</div><!-- fragment -->
<p>HTTP GET template. </p>
<p>Used with sprintf() to create the GET request for the HTTP server. Override if required by defining in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="gaf07584fc1f20562f8eacf0346ad05291"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_GET_RANGE_TEMPLATE</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="stringliteral">&quot;GET %s HTTP/1.1\r\n&quot;</span> \</div>
<div class="line">    <span class="stringliteral">&quot;Host: %s:%d \r\n&quot;</span> \</div>
<div class="line">    <span class="stringliteral">&quot;Range: bytes=%ld-%ld \r\n&quot;</span> \</div>
<div class="line">    <span class="stringliteral">&quot;\r\n&quot;</span></div>
</div><!-- fragment -->
<p>HTTP GET Range template. </p>
<p>Used with sprintf() to create the GET request for the HTTP server when requesting a range of data. </p>

</div>
</div>
<a class="anchor" id="gac14bf9939b2bd5d0b62817a87b4b30fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_HTTP_POST_TEMPLATE</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="stringliteral">&quot;POST %s HTTP/1.1\r\n&quot;</span> \</div>
<div class="line">    <span class="stringliteral">&quot;Content-Length:%ld \r\n&quot;</span> \</div>
<div class="line">    <span class="stringliteral">&quot;\r\n%s&quot;</span></div>
</div><!-- fragment -->
<p>HTTP POST template. </p>
<p>Used with sprintf() to create the POST message for the HTTP server. Override if required by defining in cy_ota_config.h. </p>

</div>
</div>
<a class="anchor" id="ga448aa081432d624219ebedc2f28f5841"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MQTT_KEEP_ALIVE_SECONDS&#160;&#160;&#160;(60)                /* 60 second keepalive. */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Keepalive interval for MQTT. </p>
<p>Maximum number of MQTT topics.</p>
<p>An MQTT ping request will be sent periodically at this interval. The maximum number of topics for subscribing. </p>

</div>
</div>
<a class="anchor" id="ga3b4d0aa969fb1ec3adefbaec643f78d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MQTT_MAX_TOPICS&#160;&#160;&#160;(2)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum number of MQTT topics. </p>
<p>The maximum number of topics for subscribing. </p>

</div>
</div>
<a class="anchor" id="gaacf195683127ce1df77b07cf017990a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MQTT_TOPIC_PREFIX&#160;&#160;&#160;&quot;cy_ota_device&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Topic prefix. </p>
<p>Used as the prefix for "Will" and "Acknowledgement" messages. </p>

</div>
</div>
<a class="anchor" id="ga44b8c2bc6f4bb63c80b2939969cdb2ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_OTA_MQTT_CLIENT_ID_PREFIX&#160;&#160;&#160;&quot;cy_device&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The first characters in the client identifier. </p>
<p>A timestamp is appended to this prefix to create a unique client identifer for each connection. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga50b8b1ec191a1d5f9a8fcd3472811694"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void* <a class="el" href="group__group__ota__typedefs.html#ga50b8b1ec191a1d5f9a8fcd3472811694">cy_ota_context_ptr</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The OTA context pointer. </p>
<p>Returned from <a class="el" href="group__group__ota__functions.html#ga05b1ce8823a81d534247afd43db4c536" title="Start the OTA Background Agent. ">cy_ota_agent_start()</a> and used for subsequent calls. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gaa14519d9111acc0f50e9fd5307283766"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__group__ota__typedefs.html#gaa14519d9111acc0f50e9fd5307283766">cy_ota_update_flow_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The Type of OTA update flow. </p>
<p>Direct Flow: The application knows the location of the update and directly downloads it. Job Flow: The application loads a Job document which describes where the update is located. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaa14519d9111acc0f50e9fd5307283766aa4d7311e721aa652fb94feda759e316c"></a>CY_OTA_JOB_FLOW&#160;</td><td class="fielddoc">
<p>Use the Job flow to get the OTA Job document and data. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa14519d9111acc0f50e9fd5307283766a55f4c6628f38214c90e8b05fd8e8db72"></a>CY_OTA_DIRECT_FLOW&#160;</td><td class="fielddoc">
<p>Get the OTA image data directly. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gabc03646427dec963bef37cb5dbb550fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__group__ota__typedefs.html#gabc03646427dec963bef37cb5dbb550fa">cy_ota_connection_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The connection type to use. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggabc03646427dec963bef37cb5dbb550faa141f64e2edc3273de1e0374dc8e681ca"></a>CY_OTA_CONNECTION_UNKNOWN&#160;</td><td class="fielddoc">
<p>Unknown connection type. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggabc03646427dec963bef37cb5dbb550faa7955097dd62d0b81cb447d287d12bd98"></a>CY_OTA_CONNECTION_MQTT&#160;</td><td class="fielddoc">
<p>Use MQTT connection. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggabc03646427dec963bef37cb5dbb550faafb7b34f95f26234a0036b611205f904a"></a>CY_OTA_CONNECTION_HTTP&#160;</td><td class="fielddoc">
<p>Use HTTP connection. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggabc03646427dec963bef37cb5dbb550faa680a4b7838e45eff7b93f98dde4af706"></a>CY_OTA_CONNECTION_HTTPS&#160;</td><td class="fielddoc">
<p>Use HTTPS connection. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggabc03646427dec963bef37cb5dbb550faaa6e2c528481c3eb950755dd86dfb272f"></a>CY_OTA_CONNECTION_BLE&#160;</td><td class="fielddoc">
<p>Use Bluetooth® connection. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga6424608a6e19ecd99e52f4013354fa82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__group__ota__typedefs.html#ga6424608a6e19ecd99e52f4013354fa82">cy_ota_mqtt_session_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The MQTT session clean flag. </p>
<p>This flag signals the MQTT Broker to start a new session or restart an existing session. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga6424608a6e19ecd99e52f4013354fa82a63a3e6f75f26a0026b89674544f8c162"></a>CY_OTA_MQTT_SESSION_CLEAN&#160;</td><td class="fielddoc">
<p>Start a clean MQTT session with the Broker. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga6424608a6e19ecd99e52f4013354fa82a4c63654c806aac390a44fa5708f9838a"></a>CY_OTA_MQTT_SESSION_RESTART&#160;</td><td class="fielddoc">
<p>Restart an existing MQTT session with the Broker. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gad852fa8cdb0431df709ccf12bb37cd60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__group__ota__typedefs.html#gad852fa8cdb0431df709ccf12bb37cd60">cy_ota_cb_reason_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The reasons for OTA callbacks to the application. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggad852fa8cdb0431df709ccf12bb37cd60a7d2f0693d44fd480e23c7de3c2f68d10"></a>CY_OTA_REASON_STATE_CHANGE&#160;</td><td class="fielddoc">
<p>OTA Agent state changed, see cb_data-&gt;state. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad852fa8cdb0431df709ccf12bb37cd60a98710a7a1d2678890cda211ab2c89689"></a>CY_OTA_REASON_SUCCESS&#160;</td><td class="fielddoc">
<p>State function successful. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad852fa8cdb0431df709ccf12bb37cd60ad2bf02c326de5c6c95551123155e14bd"></a>CY_OTA_REASON_FAILURE&#160;</td><td class="fielddoc">
<p>State function failed. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad852fa8cdb0431df709ccf12bb37cd60a6f1fe12d222a4fcb6aef59d045cc40af"></a>CY_OTA_LAST_REASON&#160;</td><td class="fielddoc">
<p>Placeholder, Do not use. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gab1539ebc23219f1ca64318286e9d375f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__group__ota__typedefs.html#gab1539ebc23219f1ca64318286e9d375f">cy_ota_agent_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The OTA state. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fae28d1cd8c5a985bb343a0828c234fdd0"></a>CY_OTA_STATE_NOT_INITIALIZED&#160;</td><td class="fielddoc">
<p>OTA system is not initialized. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fab4dff9b84c5eafa48e4d3eaff2302ba5"></a>CY_OTA_STATE_EXITING&#160;</td><td class="fielddoc">
<p>OTA system is exiting. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa4980922c9b3cf3c4e1269324d4563d78"></a>CY_OTA_STATE_INITIALIZING&#160;</td><td class="fielddoc">
<p>OTA system is initializing. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375faa1a4033af52d14af2873066da8f89098"></a>CY_OTA_STATE_AGENT_STARTED&#160;</td><td class="fielddoc">
<p>OTA Agent has started. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375faf2dbf8dcfb8d9329549fa539970d9e54"></a>CY_OTA_STATE_AGENT_WAITING&#160;</td><td class="fielddoc">
<p>OTA Agent is waiting for the timer to start. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa4b481536d237fc9672cff019e5a24392"></a>CY_OTA_STATE_STORAGE_OPEN&#160;</td><td class="fielddoc">
<p>OTA Agent will call cy_storage_open. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375faf8b6a7adfb042c0b4379db005eb03fcb"></a>CY_OTA_STATE_STORAGE_WRITE&#160;</td><td class="fielddoc">
<p>OTA Agent will call cy_storage_write. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa8177ec48fc37847b69d33f90a3b4333b"></a>CY_OTA_STATE_STORAGE_CLOSE&#160;</td><td class="fielddoc">
<p>OTA Agent will call cy_storage_close. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fad8e99bc84c807fa17f23b119900d4c1a"></a>CY_OTA_STATE_START_UPDATE&#160;</td><td class="fielddoc">
<p>OTA Agent will determine the flow: Job or Direct. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fafdf0e2e6deb544bc5bdc5dec53b0609f"></a>CY_OTA_STATE_JOB_CONNECT&#160;</td><td class="fielddoc">
<p>OTA Agent will connect to the Job Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa53922a893f09e01688b27c5d225e27a5"></a>CY_OTA_STATE_JOB_DOWNLOAD&#160;</td><td class="fielddoc">
<p>OTA Agent will get the Job from the Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa5f9288e902dc5473fd3e681eb2c43012"></a>CY_OTA_STATE_JOB_DISCONNECT&#160;</td><td class="fielddoc">
<p>OTA Agent will disconnect from the Job Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa1a5597cb918e3a60890c003ca2b35926"></a>CY_OTA_STATE_JOB_PARSE&#160;</td><td class="fielddoc">
<p>OTA Agent will parse the Job. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa7d1ad039e8599533b1bd50c4068a41da"></a>CY_OTA_STATE_JOB_REDIRECT&#160;</td><td class="fielddoc">
<p>OTA Agent will use the Job to change the Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fab8c745b4b9dd7c582c1cc6735ad1401e"></a>CY_OTA_STATE_DATA_CONNECT&#160;</td><td class="fielddoc">
<p>OTA Agent will connect to the data Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa2821523d7c323f672da8b19b45d5d935"></a>CY_OTA_STATE_DATA_DOWNLOAD&#160;</td><td class="fielddoc">
<p>OTA Agent will download the data. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa1957660855d0051d85c9c6bc52bee808"></a>CY_OTA_STATE_DATA_DISCONNECT&#160;</td><td class="fielddoc">
<p>OTA Agent will disconnect from the data Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa64f1d70db6ac1c7b6053aa72a829cfd7"></a>CY_OTA_STATE_VERIFY&#160;</td><td class="fielddoc">
<p>OTA Agent will verify the download. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa155daa564765a5efdb0f5e647832c25b"></a>CY_OTA_STATE_RESULT_REDIRECT&#160;</td><td class="fielddoc">
<p>OTA Agent will redirect back to the initial connection. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa32bb3fbef7ed0e85e1130a8f8c206ac2"></a>CY_OTA_STATE_RESULT_CONNECT&#160;</td><td class="fielddoc">
<p>OTA Agent will connecting to the result Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa38c70df41f2fab401d96e10bc21cb395"></a>CY_OTA_STATE_RESULT_SEND&#160;</td><td class="fielddoc">
<p>OTA Agent will send the result. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa559e81062c0a2f47f03dcbffefbc7a75"></a>CY_OTA_STATE_RESULT_RESPONSE&#160;</td><td class="fielddoc">
<p>OTA Agent will wait for a result response. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa7608a11942fc4b42c3487335639fd719"></a>CY_OTA_STATE_RESULT_DISCONNECT&#160;</td><td class="fielddoc">
<p>OTA Agent will disconnect from the result Broker/server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375fa1a0a36230c7f92d5b5af2394e14fa6a1"></a>CY_OTA_STATE_OTA_COMPLETE&#160;</td><td class="fielddoc">
<p>OTA Agent is done with current session. </p>
<p>OTA Agent will reboot or will wait. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggab1539ebc23219f1ca64318286e9d375faabbd5e53bc741afd226adfd143dde572"></a>CY_OTA_NUM_STATES&#160;</td><td class="fielddoc">
<p>Not used, placeholder. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga83280df2ca46db528cc12901d949fd63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__group__ota__typedefs.html#ga83280df2ca46db528cc12901d949fd63">cy_ota_callback_results_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Results from the registered OTA callback. </p>
<p>These are the return values from the application to the OTA Agent at the end of a callback.</p>
<p>Of the callback reasons, <a class="el" href="group__group__ota__typedefs.html#gad852fa8cdb0431df709ccf12bb37cd60">cy_ota_cb_reason_t</a>, the OTA Agent checks only the application callback return values when the reason is CY_OTA_REASON_STATE_CHANGE. The other callback reasons are informational for the application.</p>
<p>When the callback reason is CY_OTA_REASON_STATE_CHANGE, the OTA Agent is about to call the function to act on the new state. The application callback function can return a value that affects the OTA Agent.</p>
<p>There are a few state changes that will pick up changes made by the application and use those changes. </p><pre class="fragment"> cb_data-&gt;reason             - Reason for the callback.
 cb_data-&gt;cb_arg             - Argument provided to cy_ota_agent_start() params.
 cb_data-&gt;ota_agt_state      - CY_OTA_REASON_STATE_CHANGE:
                                 - Start of cy_ota_agent_state_t, about to call the default function.
                              - CY_OTA_REASON_SUCCESS:
                                 - Error function succeeded.
                              - CY_OTA_REASON_FAILURE:
                                 - Error function failed.
 cb_data-&gt;error              - Same as cy_ota_get_last_error().
 cb_data-&gt;storage            - For the CY_OTA_STATE_STORAGE_WRITE callback, points to the storage info.
 cb_data-&gt;total_size         - Total # bytes to be downloaded.
 cb_data-&gt;bytes_written      - Total # bytes written.
 cb_data-&gt;percentage         - Percentage of data downloaded.
 cb_data-&gt;connection_type    - Current connection - MQTT or HTTP.
 cb_data-&gt;broker_server      - Current server URL and port.
 cb_data-&gt;credentials        - Pointer to the current credentials being used.
 cb_data-&gt;mqtt_connection    - Current MQTT connection (NULL if not connected):
                                 - For CY_OTA_REASON_STATE_CHANGE
                                   - CY_OTA_STATE_JOB_CONNECT or
                                     CY_OTA_STATE_DATA_CONNECT or
                                     CY_OTA_STATE_RESULT_CONNECT
                                 - OTA Agent about to connect, if Application fills this in;
                                   then the OTA Agent will use the provided connection instance.
 cb_data-&gt;http_connection    - Current HTTP connection (NULL if not conencted).
                                 - For CY_OTA_REASON_STATE_CHANGE:
                                   - CY_OTA_STATE_JOB_CONNECT or
                                     CY_OTA_STATE_DATA_CONNECT or
                                     CY_OTA_STATE_RESULT_CONNECT
                                 - OTA Agent about to connect, if Application fills this in;
                                   then the OTA Agent will use the provided connection instance.
 cb_data-&gt;file               - Filename for HTTP GET command.
 cb_data-&gt;unique_topic       - Unique topic name to receive data from MQTT Broker/Publisher.
 cb_data-&gt;json_doc           - JSON document used for:
                                 MQTT:
                                 - Send to request a Job from the MQTT Broker.
                                 - Received Job from the MQTT Broker.
                                 - Send to request data from the MQTT Broker.
                                 - Send to report the result to the MQTT Broker.
                                 HTTP
                                 - HTTP GET command for the Job.
                                 - Received the Job from the HTTP server.
                                 - HTTP GET command for data.
                                 - HTTP PUT command to the report result to the HTTP server (Not implemented yet).</pre> <table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga83280df2ca46db528cc12901d949fd63a9b6b16fa9fcb36760749ced06ea21513"></a>CY_OTA_CB_RSLT_OTA_CONTINUE&#160;</td><td class="fielddoc">
<p>OTA Agent to continue with the function, using the modified data from the application. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga83280df2ca46db528cc12901d949fd63ab33edc4fae91e1c99f93933fc3a06bd5"></a>CY_OTA_CB_RSLT_OTA_STOP&#160;</td><td class="fielddoc">
<p>OTA Agent to end the current update session (do not quit the OTA Agent). </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga83280df2ca46db528cc12901d949fd63a874db6e6b0afe4654eca56b1e66fe419"></a>CY_OTA_CB_RSLT_APP_SUCCESS&#160;</td><td class="fielddoc">
<p>Application completed task; OTA Agent uses success. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga83280df2ca46db528cc12901d949fd63acd8fc21808d384ae3609318297c3d542"></a>CY_OTA_CB_RSLT_APP_FAILED&#160;</td><td class="fielddoc">
<p>Application failed task; OTA Agent uses failure. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga83280df2ca46db528cc12901d949fd63aa831afb765223f42c44dd9f29980bad4"></a>CY_OTA_CB_NUM_RESULTS&#160;</td><td class="fielddoc">
<p>Placeholder, do not use. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Over The Air (OTA) Update Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
